import axios from 'axios';
import qs from 'qs'
// 开发环境配置接口

switch (process.env.NODE_ENV) {
    case "开发环境":
        axios.defaults.baseURL = 'https://elm.cangdu.org';
        break;
    case 'test 测试环境':
        axios.defaults.baseURL = 'https://elm.cangdu.org';
        break
    default:
        axios.defaults.baseURL = 'https://elm.cangdu.org';
}
// 设置跨域
axios.defaults.timeout = 1000;
axios.defaults.withCredentials = true;
//  设置请求头post的传递的格式
axios.defaults.headers['Content-typ'] = 'application/x-www-form-urlencoded';
axios.defaults.transformRequest = data => qs.stringify(data)
    //  设置请求拦截器以及tonke

// axios.interceptors.request.use(() => {
//     let token = localStorage.getItem('token');
//     token && (config.headers.Authorization = token);
//     return config;
// }, error => {
//     return Promise.reject(error)
// });

// 设置请求的响应的返回的状态值的时候
axios.defaults.validateStatus = status => {
        // 自定义响应成功拦截的状态码
        return /^(2|3)\d{2}$/.test(status)
    }
    //  响应拦截
axios.interceptors.response.use(response => {
    return response.data
}, error => {
    let {
        response
    } = error;
    if (error && error.response) {
        switch (err.response.status) {
            case 400:
                error.message = '请求错误'
                break
            case 401:
                error.message = '未授权，请登录'
                break
            case 403:
                error.message = '拒绝访问'
                break
            case 404:
                error.message = `请求地址出错: ${err.response.config.url}`
                break
            case 408:
                error.message = '请求超时'
                break
            case 500:
                error.message = '服务器内部错误'
                break
            case 501:
                error.message = '服务未实现'
                break
            case 502:
                error.message = '网关错误'
                break
            case 503:
                error.message = '服务不可用'
                break
            case 504:
                error.message = '网关超时'
                break
            case 505:
                error.message = 'HTTP版本不受支持'
                break

        }
    } else {
        //   没网的情况下
        if (!window.navigator.onLine) {
            //断网页面，跳转到断网页面
            return
        }
        return Promise.reject(error)
    }
});
export default axios;
axios